package com.example.designpatterns.memento;

/**
 * 原发器类
 * 负责创建备忘录和恢复状态
 */
public class Originator {
    private String state;
    
    /**
     * 设置状态
     * @param state 状态
     */
    public void setState(String state) {
        this.state = state;
        System.out.println("当前状态: " + state);
    }
    
    /**
     * 获取状态
     * @return 状态
     */
    public String getState() {
        return state;
    }
    
    /**
     * 创建备忘录
     * @return 备忘录
     */
    public Memento createMemento() {
        return new Memento(state);
    }
    
    /**
     * 从备忘录恢复状态
     * @param memento 备忘录
     */
    public void restoreFromMemento(Memento memento) {
        state = memento.getState();
        System.out.println("恢复状态: " + state);
    }
} 